.\"
.\" soapsuds manual page.
.\" (C) 2003 Novell, Inc.
.\" Author:
.\"   Lluis Sanchez Gual (lluis@ximian.com)
.\"
.TH soapsuds 1
.SH NAME
soapsuds \- Mono's Remoting Proxy Generator
.SH SYNOPSIS
.PP
.B soapsuds
[options] [inputs] [outputs]
.SH DESCRIPTION
.I soapsuds
is a tool for generating WSDL documents and client proxies for remoting services.
A WSDL document describes the methods that a service provides together with XML schemas
of all referenced data structures. A client proxy is a class which offers the same methods
as the service it represents, but provides no implementation, it just forwards calls to the
remote service.
.PP
Generated client proxies are not strictly necessary, since the runtime can
automatically generate proxies from the original service types. However, it implies the need
of distributing the service class to all clients. In some scenarios a better approach is
to use soapsuds to generate a proxy class which has the same interface as the service, 
but without any implementation.
.PP
.I soapsuds 
can generate a WSDL document from a set of types specified with the option
.I -types
or can extract the types from an assembly specified with
.I -inputassemblyfile.
In this last case, soapsuds will include schemas for all serializable classes in 
the WSDL document.
.PP
Taking as input a WSDL document (or anything from which such document can be generated)
the tool can generate source code for the client proxy (using the
.I -gc
option) or it can directly generate an assembly that implements the proxy (with the
.I -outputassemblyfile
option). soapsuds will also generate fake serializable classes for all types defined
in the schema. However, beware that those classes will lack the semantics of the
original classes, since only data structure is generated.
.PP
.SH INPUT SOURCES
The following sources are available (only one can be specified):
.TP
.I "-urltoschema:url" "-url:url"
Url from which to retrieve the WSDL document.
.TP
.I "-types:type1,assembly[,serviceEndPoint][;type2,assembly[,serviceEndPoint]]..."
Specifies types for which to generate a schema or proxy. If no service endpoint is
provided, the one provided with the 
.I -serviceendpoint
option is used.
.TP
.I "-inputassemblyfile:file", "-ia:file"
Assembly that contains the types to export.
.TP
.I "-inputschemafile:schena", "-is:schema"
Schema from which to generate proxy classes.
.SH INPUT OPTIONS
The following options are available:
.TP
.I "-inputdirectory:directory", "-id:directory"
Directory where DLLs are located.
.TP
.I "-serviceendpoint:url", "-se:url"
Url of the service to be placed in the WSDL document.
.SH OUTPUTS
The following output options are available (more than one can be specified):
.TP
.I "-outputassemblyfile:file", "-oa:file"
Generates the proxy code and compiles it into an assembly with the provided name.
.TP
.I "-outputschemafile:file", "-os:file"
Generates a WSDL document that represents the provided types.
.TP
.I "-generatecode", "-gc"
Generates proxy source code for the provided WSDL document or types.
.SH OUTPUT OPTIONS
The following options are available:
.TP
.I "-outputdirectory:directory", "-od:directory"
Directory where generated files will be placed.
.TP
.I "-proxynamespace:namespace", "-pn:namespace"
Namespace of the generated proxy.
.TP
.I "-nowrappedproxy", "-nowp"
Do not generate a wrapped proxy.
.TP
.I "-wrappedproxy", "-wp"
Generate a wrapped proxy.
.TP
.I "-strongnamefile:file", "-sn:file"
Strong name file.
.SH GENERAL OPTIONS
The following options are available:
.TP
.I "-nologo"
Supress the startup logo.
.TP
.I "-u:username", "-user:username"
The user name to use when connecting to the server.
.TP
.I "-p:password", "-password:password"
The password to use when connecting to the server.
.TP
.I "-d:domain", "-domain:domain"
The domain to use when connecting to the server.
.TP
.I "-httpproxyname:name", "-hpn:name"
Name of the http proxy.
.TP
.I "-httpproxyport:port", "-hpp:port"
Port of the http proxy.
.PP
.SH AUTHORS
Lluis Sanchez Gual (lluis@ximian.com)
.PP
.SH LICENSE
wsdl is released under the terms of the GNU GPL.
.PP
.SH SEE ALSO
wsdl(1), disco(1), mono(1), mcs(1)
